【程序30】
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
1.程序分析:同29例
2.程序源代码:

main( )  
{
long ge,shi,qian,wan,x;  
scanf("%ld",&x);  
wan=x/10000;  
qian=x%10000/1000;  
shi=x%100/10;  
ge=x%10;  
if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/  
  printf("this number is a huiwen\n");
else  
  printf("this number is not a huiwen\n");
}

【程序34】
题目:练习函数调用
1. 程序分析:
2.程序源代码:

#include <stdio.h>
void hello_world(void)  
{
printf("Hello, world!\n");  
}
void three_hellos(void)  
{
int counter;  
for (counter = 1; counter <= 3; counter++)  
hello_world();/*调用此函数*/  
}
void main(void)  
{
three_hellos();/*调用此函数*/  
}

【程序36】
题目:求100之内的素数
1.程序分析:
2.程序源代码:

#include <stdio.h>
#include "math.h"
#define N 101
main()  
{
int i,j,line,a[N];  
for(i=2;i<N;i++) a[i]=i;  
for(i=2;i<sqrt(N);i++)  
  for(j=i+1;j<N;j++)
  {
   if(a[i]!=0&&a[j]!=0)
   if(a[j]%a[i]==0)
   a[j]=0;}
printf("\n");  
for(i=2,line=0;i<N;i++)  
{
  if(a[i]!=0)
  {printf("%5d",a[i]);
  line++;}
  if(line==10)
  {printf("\n");
line=0;}  
}
}

【程序37】
题目:对10个数进行排序
1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
2.程序源代码:

#define N 10
main()  
{int i,j,min,tem,a[N];
/*input data*/
printf("please input ten num:\n");  
for(i=0;i<N;i++)  
{
printf("a[%d]=",i);  
scanf("%d",&a[i]);}  
printf("\n");  
for(i=0;i<N;i++)  
printf("%5d",a[i]);  
printf("\n");  
/*sort ten num*/
for(i=0;i<N-1;i++)  
{min=i;
for(j=i+1;j<N;j++)  
if(a[min]>a[j]) min=j;  
tem=a[i];  
a[i]=a[min];  
a[min]=tem;  
}
/*output data*/
printf("After sorted \n");  
for(i=0;i<N;i++)  
printf("%5d",a[i]);  
}

【程序38】
题目:求一个3*3矩阵对角线元素之和
1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
2.程序源代码:

main()  
{
float a[3][3],sum=0;  
int i,j;  
printf("please input rectangle element:\n");  
for(i=0;i<3;i++)  
  for(j=0;j<3;j++)
  scanf("%f",&a[i][j]);
for(i=0;i<3;i++)  
  sum=sum+a[i][i];
printf("duijiaoxian he is %6.2f",sum);  
}