资源描述
C语言程序设计训练指导书
一、目的
1) 巩固练习C语言的基础知识
2) 综合运用C语言的编程方法
3) 针对抽象的解题思路,设计程序结构
4) 基于VC6调试、测试与修改程序
二、内容
2.1、阅读程序,推导结果。
1、
#include<iostream>
using namespace std;
int a = 200;
int main()
{
int s=0;
for(int i=1; i<=5; i++)
s+=++a;
cout<<s<<endl;
return 0;
}
结果为:1015
2、
#include<iostream>
using namespace std;
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3};
void main()
{
cout<<a[0][1] + b[1][0] << ' ';
cout<<a[1][0] + b[0][1] << endl;
}
结果为:0 4
3、
#include<iostream>
using namespace std;
void main()
{
int num=0,i=10;
do
{
i--;
num+=i;
}while(--i);
cout<<num<<endl;
}
结果为:25
2.2、应用编程
1、由键盘输入5个整数,输出其中最大、最小的数与它们的平均值。提示:设置2个指示变量,分别记录最大、最小的数的下标;指示变量先设置为0,然后遍历数组,刷新指示。
#include<iostream>
using namespace std;
int main()
{int max,min,i;
int a[4];
cout<<"请输入五个数字";
for(i=0;i<=4;++i)
cin >>a[i];
max=a[0];
min=a[0];
for(i=0;i<=4;++i)
{if(a[i]>max)
{max=a[i];
}
if(a[i]<min)
{min=a[i];
}}
cout<<"max="<<max<<"min="<<min<<' '<< "平均数="<<(a[0]+a[1]+a[2]+a[3]+a[4])/5<<endl;
return 0;
}}
2、输出以下图案。提示: 前4横用一循环结构输出,后3横用另一循环结构输出;观察横坐标与*的个数的关系。
*
***
*****
*******
*****
***
*
#include<iostream>
using namespace std;
int main()
{int i,k;
for(i=0;i<=3;i++)
{for(k=0;k<=2*i;k++)
cout<<”*”;
cout<<endl;
}
for(i=0;i<=2;i++)
{for(k=0;k<=4-2*i;k++)
cout<<endl;
}
return 0;
}
3、由键盘输入2个字符串,将它们连接起来的结果取代第2个字符串,并输出。提示:连接取代分2步实现:先逐个复制第1和第2个字符串的字符到第3个字符串,再从第3个字符串复制回第2个字符串。#include<iostream>
#include<string>
using namespace std;
Int main()
{string s1=”week”,s2=”endl”;
cout<<”s1=”<<s1<<endl;
cout<<”s2=”<<s2<<endl;
s2=s1+s2;
cout<<”the new string is”<<s2<<endl;
return 0;
}
4、输入3个字符串,1)输出其中以字母A打头的;2)输出其中以an结尾的;3)输出其中包含an的。提示:字符串s的打头字母为s[0]。
#include<iostream>
#include<string>
using namespace std;
int main()
{ const int n=3;
string str;
for(int i=0;i<=n;i++)
{cout<<"please input string ";
cin>>str;
if(str[0]=='A')
cout<<str<<endl;
if(str[1]=='a',str[2]=='n')
cout<<str<<endl;
str[i];
if(str[i]=='a',str[i+1]=='n')
cout<<str<<endl;
return 0;
}
5、有int a[10]={ 1,7,9,27,8,82,19,55,6,10},由键盘输入一个数x,找出x在a中的位置及按由小到大的排位,如果x不在a中,则输出“无此数”。比如,输入“8”,则位置为5,排位为4;如输入“0”,则输出“无此数”。 提示:遍历数组,通过判断a[i]==x即可查获x在数组里的下标;设置1个统计变量,遍历数组,通过判断a[i]<x即可算出x在数组里的大小排位。#include<iostream>
using namespace std;
int main()
{int a[10]={ 1,7,9,27,8,82,19,55,6,10} ;
int x,i,colum,j=0;
cout<<"please input x";
cin>>x;
for(i=0;i<=9;i++)
{if(a[i]==x)
{colum=i+1;
cout<<"colum="<<i<<endl;
}
if(x<=a[i])
{j=1;
j++;
}
cout<<j<<endl;
if(a[i]!=x)
{cout<<"无此数"<<endl;}
}
return 0;
}
展开阅读全文