关闭

函数应用程序设计

519人阅读 评论(0) 收藏 举报

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");
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:59661次
    • 积分:1016
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:4篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论