1、输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include<stdio.h>
#define N 100
void main(void){
char value[N] = "";
int let = 0;
int dig = 0;
int spa = 0;
int oth = 0;
int i;
printf("请输入一串字符:");
gets(value);
for(i = 0; value[i] != '\0'; i++){
if((value[i] >= 'a' && value[i] <= 'z') || (value[i] >= 'A' && value[i] <= 'Z'))
let++;
else if(value[i] >= '0' && value[i] <= '9')
dig++;
else if(value[i] == ' ')
spa++;
else
oth++;
}
printf("输入字符中字母的个数为%d,数字个数为%d,空格个数为%d,其他字符个数为%d。\n", let, dig, spa, oth);
}
2、求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
#include<stdio.h>
double add(int n);
double add(int n){
double ans = 0;
int i = 1;
int c = 1;
for(i = 1, c = 1; i <= n; i++, c *= -1)
ans += 1.0 / i * c;
return ans;
}
void main(void){
int n;
printf("请输入数字范围:\n");
scanf("%d", &n);
printf("求得的值为%lf。\n", add(n));
}
3、矩阵转置:将一个m行n列矩阵(即m×n矩阵)的每一行转置成另一个n×m矩阵的相应列
例如:将2*3的矩阵转置后输出:
1 2 3
4 5 6
转置为
1 4
2 5
3 6
#include<stdio.h>
#define ROW 5
#define COL 3
void main(void){
int value[ROW][COL] = {0};
// int ans[COL][ROW] = {0};
int i, j;
printf("请输入一个%d X %d的矩阵:\n", ROW, COL);
for(i = 0; i < ROW; i++)
for(j = 0; j < COL; j++)
scanf("%d", &value[i][j]);
for(i = 0; i < COL; i++){
for(j = 0; j < ROW; j++)
printf("%d ", value[j][i]);
printf("\n");
}
}
/*输入模版
1 2 3
2 3 4
3 4 5
4 5 6
5 6 7
*/