C语言上机试题:1
1. 题目:编一C程序,它能读入一个正整数n(n ; 20),再逐行读入一个n*n的矩阵的元素(矩阵元素为整数,输入时相邻的整数用空格隔开),找出这个矩阵的的元素,再输出该元素的行号和列号(行号和列号均从1开始)。(注:程序命名为e1_1.exe)
程序设计:
main()
{int n,i,j,a[20][20],max,max_i,max_j;
printf("Please inter n=");
scanf("%d",%26amp;n);
printf("\n");
printf("Please inter a[][]:\n");
for (i=0;ifor (j=0;jscanf("%d",%26amp;a[i][j]);
max=a[0][0],max_i=0,max_j=0;
for (i=0;ifor (j=0;jif (max{max=a[i][j];
max_i=i;
max_j=j;
}
printf("max_i=%d,max_j=%d\n",max_i+1,max_j+1);
}
2. 题目:设 y(n) = 1 n;= 1时
y(n) = -y(n-2)+2*y(n-1) n;1时
编一C程序,它能对读入的任意n(n;=0且n;50),能计算并输出y(n)的值。(注:程序命名为e1_2.exe)
程序设计:
int y(n)
int n;
{if (n;=1) return (1);
else return (-y(n-2)+2*y(n-1));
}
main()
{int n;
printf("Please inter n=");
scanf("%d",%26amp;n);
printf("\n");
printf("y(%d)=%d\n",n,y(n));
}
3. 题目:编一C程序,它能读入一个字符串(串长;100,串中可能有空格符),计算并输出该字符串中十进制数字的个数。(注:程序命名为e1_3.exe)
程序设计:
#include "stdio.h"
#include "string.h"
main()
{char a[100];
int i,l,num=0;
printf("Please inter a string:\n");
gets(a);
l=strlen(a);
for (i=0;i;l;i++)
if (a[i];='0'%26amp;%26amp;a[i];='9')
num++;
printf("Number is %d\n",num);
}