ACM_编程与调试重点记录(十四)
2010-03-10 22:10
253 查看
1.字符串输入输出函数的使用比较:
2. #include<stdio.h>
void dele(int a[]);
int min(int a[]);
void sum(int a[]);
int n=9;
main()
{
int i,a[9]={1,4,2,5,23,5,55,-2,1},*p,min1;
p=a;
dele(p);
min1=min(p);
printf("/n/n/n");
printf("min=%d/n",min1);
sum(p);
//system("pause");[GP1]
}
void dele(int a[])
{
int maxi,i;
maxi=0;
for (i=1;i<n;i++)
if (maxi<a[i])maxi=i;
for (i=maxi;i<n-1;i++) a[i]=a[i+1];
n--;
}
int min(int a[])
{
int min,i;
min=a[0];
for (i=1;i<n;i++)
if (min>a[i])min=a[i];
return min;
}
void sum(int a[])
{
int sum1,ave,i;
sum1=0;
for (i=0;i<n;i++)sum1+=a[i];
ave=sum1/n;
printf("sum=%d,ave=%d/n",sum1,ave);
}
3. 排序:
#include <stdio.h>
main()
{
int i,j,t,a[6],n;
printf("/n/n/nPlease input 6 number:/n");
n=6;
for (i=0;i<n;i++)
scanf("%d",&a[i]);
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
[GP2] printf("The sorted numbers are:/n");
for (i=0;i<n;i++)
printf("%6d",a[i]);
printf("/n");
}
4. /* 删除数组中的一个指定元素 */
/* 在数组中查找一个给定的数 */
#include <stdio.h>
int main(void)
{
int i,j, n, x;
int a[10];
n=5;
printf("Enter 5 integers: "); /* 提示输入5 个数 */
for(i = 0; i <n; i++)
scanf("%d", &a[i]);
printf("Enter x: "); /* 提示输入 x */
scanf("%d", &x);
/* 在数组a中查找x */
for(i = 0; a[i]!=x; i++);
if(i<n)
{
for(j=i;j<n-1;j++)
a[j]=a[j+1];
n=n-1;
}
for(i = 0; i <n; i++)
printf("%5d", a[i]);
}
4.
5.
6.三个数比较大小:
7.顺序结构:
[GP1]系统暂停函数?
[GP2]好!
[GP3]好方法!循环一遍就实现了逆序排列。
[GP4]不能是‘i’+’A’,即数字i加上字符A
[GP5]解密过程
/* 【例8-15-2】字符串输入输出函数的使用比较。 */ <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> /* 程序B:使用gets和puts函数输入输出字符串的示例*/ #include <stdio.h> int main( ) { char str[80]; gets(str); puts(str); puts("Hello"); return 0; } | /* 【例8-15-1】字符串输入输出函数的使用比较。 */ /* 程序A:使用scanf和printf函数输入输出字符串的示例 */ #include <stdio.h> int main( ) { char str[80]; scanf("%s", str); printf("%s", str); printf("%s", "Hello"); return 0; } |
2. #include<stdio.h>
void dele(int a[]);
int min(int a[]);
void sum(int a[]);
int n=9;
main()
{
int i,a[9]={1,4,2,5,23,5,55,-2,1},*p,min1;
p=a;
dele(p);
min1=min(p);
printf("/n/n/n");
printf("min=%d/n",min1);
sum(p);
//system("pause");[GP1]
}
void dele(int a[])
{
int maxi,i;
maxi=0;
for (i=1;i<n;i++)
if (maxi<a[i])maxi=i;
for (i=maxi;i<n-1;i++) a[i]=a[i+1];
n--;
}
int min(int a[])
{
int min,i;
min=a[0];
for (i=1;i<n;i++)
if (min>a[i])min=a[i];
return min;
}
void sum(int a[])
{
int sum1,ave,i;
sum1=0;
for (i=0;i<n;i++)sum1+=a[i];
ave=sum1/n;
printf("sum=%d,ave=%d/n",sum1,ave);
}
3. 排序:
#include <stdio.h>
main()
{
int i,j,t,a[6],n;
printf("/n/n/nPlease input 6 number:/n");
n=6;
for (i=0;i<n;i++)
scanf("%d",&a[i]);
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
[GP2] printf("The sorted numbers are:/n");
for (i=0;i<n;i++)
printf("%6d",a[i]);
printf("/n");
}
4. /* 删除数组中的一个指定元素 */
/* 在数组中查找一个给定的数 */
#include <stdio.h>
int main(void)
{
int i,j, n, x;
int a[10];
n=5;
printf("Enter 5 integers: "); /* 提示输入5 个数 */
for(i = 0; i <n; i++)
scanf("%d", &a[i]);
printf("Enter x: "); /* 提示输入 x */
scanf("%d", &x);
/* 在数组a中查找x */
for(i = 0; a[i]!=x; i++);
if(i<n)
{
for(j=i;j<n-1;j++)
a[j]=a[j+1];
n=n-1;
}
for(i = 0; i <n; i++)
printf("%5d", a[i]);
}
4.
/*输入一个以回车结束的字符串(少于80个字符),反序后输出*/ #include<stdio.h> int main(void) { int count, i,j; char str[80],c; /* 输入字符串 */ printf("Enter a string: "); /* 输入提示 */ i = 0; count = 0; while((str[i] = getchar( )) != '/n') i++; str[i] = '/0'; /* 将结束符 '/0' 存入数组 */ count=i; /* 统计字符串中数字字符的个数 */ printf("count = %d/n", count); for(i = 0,j=count-1; i<j; i++,j--) {c=str[i];str[i]=str[j];str[j]=c;} [GP3] printf("Str=%s/n",str); } |
/*【例6-11】输入一个以回车结束的字符串(少于80个字符),大写字母加密后输出*/ /* 统计字符串中数字字符的个数 */ #include <stdio.h> int main(void) { int count, i,j; char str[80]; char str2[]="ZXYWVUTSRQPONMLKJIHGFEDCBA"; /* 输入字符串 */ printf("Enter a string: "); /* 输入提示 */ i = 0; while ((str[i] = getchar( )) != '/n') i++; str[i] = '/0'; /* 将结束符 '/0' 存入数组 */ /* 统计字符串中数字字符的个数 */ count = 0; for (i = 0; str[i] != '/0'; i++) /* 循环条件:数组元素 str[i] 不等于 '/0' */ if (str[i] >= 'A' && str[i] <= 'Z') { count=str[i]-'A'; str[i]=str2[count]; } printf("count=%s/n",str); i = 0; while ((str[i] = getchar( )) != '/n') i++; for (j=0; ;j++) for (i=0;i<26;i++) if (str[j]==str2[i]) printf("%c",i+'A'[GP4] ); [GP5] } |
#include <stdio.h> main() { int a,b,c,min; scanf("%d%d%d",&a,&b,&c); min=a<b?(a<c?a:c):(b<c?b:c); printf("min=%d/n",min); } | 运行结果: 8 9 65 min=8 请按任意键继续. . . |
#include <stdio.h> main() { char a; scanf("%c",&a); printf(" %c/n",a); printf(" %c/n",a); printf("%c%c%c%c%c%c%c/n",a,a,a,a,a,a,a); printf(" %c/n",a); printf("%c%c%c%c%c%c%c/n",a,a,a,a,a,a,a); printf(" %c/n",a); printf(" %c/n",a); } | 运行结果: 8 8 8 8888888 8 8888888 8 8 请按任意键继续. . . |
[GP1]系统暂停函数?
[GP2]好!
[GP3]好方法!循环一遍就实现了逆序排列。
[GP4]不能是‘i’+’A’,即数字i加上字符A
[GP5]解密过程
相关文章推荐
- ACM_编程与调试重点记录(五)
- ACM_编程与调试重点记录(十七)
- ACM_编程与调试重点记录(六)
- ACM_编程与调试重点记录(十二)
- ACM_编程与调试重点记录(七)
- ACM_编程与调试重点记录(十三)
- ACM_编程与调试重点记录(八)
- ACM_编程与调试重点记录(十六)
- ACM_编程与调试重点记录(一)
- ACM_编程与调试重点记录(九)
- ACM_编程与调试重点记录(二)
- ACM_编程与调试重点记录(十七).doc
- ACM_编程与调试重点记录(三)
- ACM_编程与调试重点记录(十一)
- ACM_编程与调试重点记录(四)
- 编程调试记录之一
- C语言精华记录——捌(预处理、程序调试、编程风格)
- GPU(CUDA)学习日记(六)------ vector,动态数组,引用,编程调试经验总结等一些比较琐碎的记录
- GPU(CUDA)学习日记(六)------ vector,动态数组,引用,编程调试经验总结等一些比较琐碎的记录
- hdu 1875 基础kruskal + 预处理出所有边 (记录第一次用调试解决ACM..!!)