1、输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数
#include <stdio.h>
#include <stdlib.h>
#define N 100
void main(){
int i;
int a,b=0;
int lowcase=0,upcase=0,number=0,elsestring=0;
int num[N];
// printf("请输入你要输入字符的个数");
// scanf("%d",&a);
//char s[10]={'\0'};
char s[N]={0};
printf("请输入一串字符");
scanf("%s",&s);
//gets(s);
printf("%s",s);
for(i=0;i<sizeof(s);i++) {
if(s[i]=='\0'){
break;
}
b=s[i] ;
if(b>=97&&b<=122){
lowcase++;
continue;
}
if(b>=48&&b<=57){
number++;
continue;
}
if(b>=65&&b<=90){
upcase++;
continue;
}
elsestring++;
// int a=atoi(b);
// printf("%d",b) ;
// printf("\n");
}printf("大写字母%d\n小写字母%d\n数字%d\n其他%d",upcase,lowcase,number,elsestring);
}
运行结果
2、求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
#include <stdio.h>
#define N 100
void main(){
int i;
double sum=1.00,number;
for(i=2;i<=N;i++){
if(i%2==0)
{sum-=(1/(1.00*i));
}
if(i%2!=0)
{ sum+=(1/(1.00*i));//1.00*i将int型进行转化
}
printf("%f",sum);//%5.3f整数5位,小数三位
printf("\n");
}
}
运行结果
3、矩阵转置:将一个m行n列矩阵(即m×n矩阵)的每一行转置成另一个n×m矩阵的相应列
例如:将2*3的矩阵转置后输出:
即将 1 2 3 转置 1 4
4 5 6 2 5
3 6
#include <stdio.h>
#define I 2
#define J 3
int main(){
int i,j;
int arr[I][J]={{1,2,3},{4,5,6}};//定义一个数组,并初始化arr[i],i代表数组的长度
int arr2[J][I];
for(i=0;i<I;i++){
for(j=0;j<J;j++){
arr2[j][i]=arr[i][j]; }
}
for(i=0;i<J;i++){
for(j=0;j<I;j++){
printf("%d",arr2[i][j]) ; }
printf("\n");}
}
运行结果