1 判断对称数组
#include<stdio.h>
void InputString(char *s) { gets(s); }
int fun(char *s) { int r,i,n;
n=0; while ( s[n]!=0 ) n++;
r=1; for ( i=0;i<n/2;i++ ) if ( s[i]!=s[n-i-1] ) { r=0; break; }
return r;
}
void Output(int a) {
if ( a==0 ) printf("不");
printf("是对称数组。");
}
void main() { char str[256]; int b;
InputString(str);
b=fun(str);
Output(b);
}
2 统计大小写、数字
#include <stdio.h>
int main()
{
char ch;
int digit,upper,lower;
digit=upper=lower=0; //初始化为0
while((ch=getchar()) != '\n') //输入一行字符串
{
if(ch>='0' && ch<='9')
digit++;
else if(ch>='A' && ch<='Z')
upper++;
else if(ch>='a' && ch<='z')
lower++;
}
printf("数字字符个数: %d\n",digit);
printf("大写字母个数: %d\n",upper);
printf("小写字母个数: %d\n",lower);
return 0;
}
题目1:
#include <stdio.h>
void main()
{
int m,n;
int **p;
int i,j;
int res = 1;
printf("请输入二维数组的行和列:");
scanf("%d %d",&m,&n);
printf("请输入二维数组的元素:\n");
p = new int *[m];
for(i = 0; i < m; i++)
{
p[i] = new int[n];
for(j = 0; j < n;j++)
scanf("%d",&p[i][j]);
}
if (m != n)
{
printf("不对称\n");
}else
{
for(i = 0; i < m; i++)
{
for(j = 0; j < n;j++)
if (p[i][j] != p[j][i])
{
printf("不对称\n");
for (i = 0;i < m;i++)
{
delete[] p[i];
}
delete[] p;
return;
}
}
printf("对称\n");
}
for (i = 0;i < m;i++)
{
delete[] p[i];
}
delete[] p;
}
题目2:
#include <stdio.h>
#include <string.h>
void main()
{
char buf[100] = {0};
int size,i,n1 =0,n2=0,n3=0,n4=0;
printf("请输入字符串:");
gets(buf);
size = strlen(buf);
for (i= 0;i < size; i++)
{
if(buf[i] >= 'a' && buf[i] <= 'z')
n1++;
else if(buf[i] >= 'A' && buf[i] <= 'Z')
n2++;
else if(buf[i] >= '0' && buf[i] <= '9')
n3++;
else
n4++;
}
printf("大写字母的个数:%d\n",n2);
printf("小写字母的个数:%d\n",n1);
printf("数字字符的个数:%d\n",n3);
}