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