若只求完成作业而不求甚解,则对学习无益,纯属浪费时间
1 . 用%s输出字符串 要使str[i] = '\0';
2 . switch 语句基本框架:
for (i = 0 ; str[i] != '\0' ; i++)
{
switch(str[i])
{
case '0': //只有char定义的才要加 ‘ ’ ;
arr[0]++;
break;
case '1':
arr[1]++;
break;
case '9':
arr[9]++;
break;
default:
break;
}
}
switch (n)
{
/****Found****/
case 0: //整型不需要加 ‘ ’ ;
printf("Zero\n");
break;
default:
printf("Non-Zero");
break;
}
3 . 排序法举例
for (k = 0 ; k < i - 1 ; k++) 冒泡法(主要):
{ for (k = 0 ; k < i - 1 ; k++)
for (j = k + 1 ; j < i ; j++) {
{ for (j =0 ; j < i - k - 1 ; j++)
if (str[k] > str[j]) {
{ if (str[j] > str[j+1])
temp[k] = str[k]; {
str[k] = str[j]; temp[k] = str[j];
str[j] = temp[k]; str[j] = str[j+1];
} str[j+1] = temp[k];
} }
} }
}
4 . 同姓要比较数组的前两个元素
5 . 字母位置互换
for (i = 0 ; i < count ; i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
{
str[i] ='z' + 'a' - str[i];
}
if (str[i] >= 'A' && str[i] <= 'Z')
{
str[i] ='Z' + 'A' - str[i];
}
}
6 . 当遇到-222时结束读入
for (i = 0 ; i < 10000 ; i++)
{
scanf("%d", &aa);
if (aa == -222)
{
break;
}
else
{
arr[k] = aa;
k++;
}
}
7 . 仅读入2到13之间的数字
do
{
scanf("%d", &n);
} while (n < 2 || n > 13);
8 . 不用库函数读入一行字符。例:用while
ch = getchar();
while (ch != '\n') // 输入时考虑ch != '\n'; 对数组的值进行判断时则为str[i] != '\0';
{
str[i] = ch;
i++;
ch = getchar();
}
9 . char ch;//char型常量在内存中存放的是ASCII码;
b = ch - 'A';//ch 就表示的是ASCII码,而A加了 ’ ’ 才能表示ASCII码;
printf("%d", 95 - 10 * (ch - 'A'));//ch从始至终都不需要加单引号 ‘ ’ ;
10 . 如果要输入和输出多个字符串
用getS(str);puts(str);
如果仅输入输出单行字符串,优先用gets和puts,若题目限制,则借鉴第8条;
11 . strlen(str1);//计算字符串长度;
strcmp(str1 , str2) > 或 = 或 < 0;//比较最大字符串;
if (strcmp(str1 , str2) > 0)
{
strcpy(str1 , str2);//把str1中的所有字符全都替换成str2中的所有字符;
}
12 . 以回车表示行结束且回车不计入输入内容。若读入过程中发生错误或遇到文件结束,则也表示行输入结束
若用户输入时输入了很多字符,则仅读入前100个字符
for (i = 0 ; i < 100 ; i++)
{

最低0.47元/天 解锁文章
2516

被折叠的 条评论
为什么被折叠?



