1166: C语言实验题――大小写转换 分享至QQ空间
Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByte
Total Submit: 7624 Accepted:4853
Description
把一个字符串里所有的大写字母换成小写字母,小写字母换成大写字母。其他字符保持不变。
Input
输入为一行字符串,其中不含空格。长度不超过80个字符。
Output
输出转换好的字符串。
Sample Input
ABCDefgh123
Sample Output
abcdEFGH123
Source
代码如下:
#include<stdio.h>
#include<string.h>
int main(){
int i;
char str[100];
scanf("%s",&str);
for(i=0;i<strlen(str);i++){
if((str[i]>='a')&&(str[i]<='z')){
str[i]-=32;
continue;
}
if((str[i]>='A')&&(str[i]<='Z')){
str[i]+=32;
continue;
}
}
for(i=0;i<strlen(str);i++){
printf("%c",str[i]);
}
return 0;
}
总结:注意if如果没有使用continue,就会导致字母转换后再进行判断然后还原,导致大小写转换失败。
1478: C语言实验题――打印金字塔 分享至QQ空间
Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByte
Total Submit: 11538 Accepted:4932
Description
输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。
Input
输入只有一个正整数n(1<=n<=9)。
Output
打印金字塔图形,其中每个数字之间有一个空格。
Sample Input
3
Sample Output
1
1 2 1
1 2 3 2 1
Source
TZOJ
Tag
代码如下:
#include<stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=0;j<(n-i)*2;j++){
printf(" ",j);
}
for(j=1;j<i;j++){
printf("%d ",j);
}