函數應用程序設計

1.  字符串的顯示及反向顯示

#include<stdio.h>
#include<string.h>
void forward_and_backwards(char line_of_char[],int index);//聲明函數
main(){
 char line_of_char[80];
 int index=0;
 strcpy(line_of_char,"This is a string.");//字符串複製
 forward_and_backwards(line_of_char,index);//函數調用
 printf("/n");
}
void forward_and_backwards(char line_of_char[],int index){
 if(line_of_char[index]){
  printf("%c",line_of_char[index]);//輸出正向字符
  forward_and_backwards(line_of_char,index+1);//遞歸函數調用
  printf("%c",line_of_char[index]);//輸出反向字符
 }
}
2.  程序定義了一個N*N的二維數組,並在主函數中自動賦值,請編寫函數fun(int a[][N],int n),該函數的功能是使數組右下半三角元素中的值加n.

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>

#define N 5
void input(int a[][N]);
void showMatrix(int a[][N]);
void Add(int a[][N],int n);//函數定義

main(){
 int a[N][N];
 int n;
 input(a[N][N]);
 do
 {
  n=rand()%10;
 }while(n>5);
 printf("the add number is %d/n",n);
 Add(a[N][N],n);
 printf("the changed array is:/n");
 showMatrix(a[N][N]);
}
void input(int a[][N]){//二維數組的自動賦值
 int i,j;
 printf("Please input the number of the array:/n");
 for(i=0;i<N;i++){
  for(j=0;j<N;j++){
   a[i][j]=rand()%10;
   printf("%d  ",a[i][j]);
  }
  printf("/n");
 }
}
void showMatrix(int a[][N]){
 int i,j;
 for(i=0;i<N;i++){
  for(j=0;j<N;j++)
   printf("%d  ",a[i][j]);
  printf("/n");
 }
}
void Add(int a[][N],int n){
 int i,j;
 for(i=0;i<N;i++)
  for(j=0;j<=i;j++)
   a[i][j]=a[i][j]+n;
}

3.  編寫判斷素數的函數,調用該函數求出n以內的所有素數,將這些素數存入數組中並輸出。

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
int isp(int num){//判斷是否爲素數
 int j;
 for(j=2;j<num;j++)
  if(num%j==0)
   return 0;
 return 1;//爲素數
}
main(){
 int a[10],num,i,m=0;
 printf("please input a number:/n");
 scanf("%d",&num);
 for(i=2;i<=num;i++)//n以內的數
  if(isp(i)==1){
   a[m]=i;
   m++;
   printf("%d  ",i);
  }
 printf("/n");
}

發佈了48 篇原創文章 · 獲贊 11 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章