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