一些记录。
1.4.1-3输入10个整数,倒序输出 (以空格分隔)
例如:
输入:345602111271
输出:1712112 06 54 3
#include<stdio.h>
int main()
{
int a[10],i,j;
for( i = 0; i < 10; i++ ){
scanf("%d", &a[i]);
}
for ( j = 9; j >= 0; j--){
printf("%d ", a[j]);
}
return 0;
}
2.4.2-1有一个3X4的整数矩阵 ,矩阵的每个元素等于它的行号下标与列号下标的乘积减去它们的和;并找出其中最大值和最小值,记录它们的行号下标和列号下标并输出。
输入样例:无数据输入。
输出样例: max:1,row:2,col:3;min:-3,row:0,col:3
#include<stdio.h>
#include"math.h"
#include"conio.h"
int main()
{
int i,j,max,min,r1,r2,c1,c2;
i = 0;j = 0;
r1= 0;r2= 0; c1 = 0;c2 = 0;
max = -2147483647;
min = 2147483647;
int a[3][4];
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
a[i][j] = i*j-(i+j);
}
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
if (a[i][j] > max)
{
max = a[i][j];
r1 = i;
c1 = j;
}
else if(a[i][j] < min){
min = a[i][j];
r2 = i;
c2 = j;
}
}
}
printf("max:%d,row:%d,col:%d;min:%d,row:%d,col:%d", max, r1, c1, min, r2, c2);
}
3.从键盘输入3个字符串,存放在3x 100的二维数组中。输出最大的字符串。
例如:
输入:
sun
zhang
wang
输出:
zhang
#include<stdio.h>
#include<string.h>
int main()
{
char arr[3][100];
char max[100];
int i;
for( i = 0; i < 3; i++){
gets(arr[i]);
}
if( strcmp(arr[0],arr[1] ) > 0){
strcpy(max,arr[0]);
}
else{
strcpy( max,arr[1] );
}
if(strcmp(arr[2],max) > 0)
{
strcpy(max,arr[2]);
}
printf("%s\n",max);
return 0;
}
4.4.4-1编程实现-个具有算术运算功能的简单计算器,用用户输入两个浮点数及运算类型,用整数1、2、3、4分别代表加、减乘、除,根据用户的输
入,计算结果并输出,输出结果保留1位小数。(通过函数实现)
例如:
输入: 33.1 22 1
输出: 33.1, 22.0, 55.1
#include<stdio.h>
int main()
{
double num1,num2;
int c;
int fcal(double num1,double num2,int c);
scanf("%lf%lf%d",&num1,&num2,&c);
fcal(num1,num2,c);
return 0;
}
int fcal(double num1,double num2,int c) {
while(1)
{
switch(c)
{
case 1:printf("%.1f %.1f %.1f\n",num1,num2,num1+num2);break;
case 2:printf("%.1f %.1f %.1f\n",num1,num2,num1-num2);break;
case 3:printf("%.1f %.1f %.1f\n",num1,num2,num1*num2);break;
case 4:printf("%.1f %.1f %.1f\n",num1,num2,num1/num2);break;
default:printf("输入错误!\n");
}
break;
}
return 0;
}
5.4.5-1任意输入2个整数,编写2个函数分别求这2个整数的最大公约数和最小公倍数,结果在主函数中输出。
例如:
输入:1215
输出: 3,60
#include<stdio.h>
int main()
{
int a,b;
int gy,gb;
int fy(int a,int b);
int fb(int a,int b);
scanf("%d%d",&a,&b);
gb=fb(a,b);
gy=fy(a,b);
printf("%d,%d",gb,gy);
return 0;
}
int fb(int a,int b)
{
int i;
for( i = ( a > b ? b:a );i > 1;i-- )
{
if( a % i == 0 && b % i == 0 )
break;
}
return i;
}
int fy(int a,int b)
{
int i;
for( i=( a > b ? b:a );i < a*b;i++ )
{
if( i % a == 0 && i % b== 0 )
break;
}
return i;
}