2.XTU方阵
eXtreme Talent University(XTU)需要为他们的校名打印一些特别的图形,为了美观,他们选择了方阵。现在他们需要你的帮助,帮他把这些方阵打印出来。如果方阵一边只由一个XTU的校名组成,则方阵为:
XTU
XTU
XTU
每个样例占一行,每行是一个整数n(0<=n<=10),表示一行需要使用多少个校名,n为0是输入结束标志。
对于每个样例,先输出样例序号,比如说第一个样例输出“Case 1:”,换行再输出对应样例的方阵,每个方阵后有一个空行。
这个题主要是用到循环和换行的问题,讲一下嵌套循环
for(i=0;i<3*n;i++)
{
for(j=0;j
printf("XTU");
}
printf("\n");
}
循环的第一个for()主要是控制有多少行,第二个for就是对行进行操作,那个printf()就是对每一行操作完之后换下一行
其他的没什么好说的了,代码如下
#include
int main()
{
int i,j;
int n,count=0;
while(scanf("%d",&n))
{
if(n==0)
return 0;
count++;
printf("Case %d:\n",count);
for(i=0;i<3*n;i++)
{
for(j=0;j
printf("XTU");
}
printf("\n");
}
printf("\n");
}
}
3.
数字塔
有多个输入测试用例,每个用例一行,是一个1-9的整数,输入为0则结束。
请输出一个数字塔,若输入是4,则输出的数字塔为:
1
222
33333
4444444
因为有多个样例,那么样例需要先输出一行"case 样例号:"
比如第一个样例是3,则输出
case 1:
1
222
33333
这个题的话,和上个题一样,是一个嵌套循环,但是比上一个题要复杂
我们把循环语句摘出来分析一下
for(i=0;i
for(j=i;j
for(j=0;j<2*i+1;j++)
{
printf("%d",i+1);
}
printf("\n");
}
首先行数和n挂钩,所以最外层循环肯定是for(i=0;i 然后就是关于空格的问题了,空格随着行数的增加而减少,而且是n-1的线性关系,所以是for(j=i;j 又由于后来i增大所以格越来越少 行的问题解决了然后我们看每一行的输出,第一行输出一个1,第二行输出3个2,第三行输出5个3,所以输出数量是2*i+1的关系,然后输出的内容是什么,当然是和i挂钩 printf(“%d”,i+1),最后每行输出完毕之后你还要使用换行符来开启下一行,代码如下 #include 6. 日期 这个题重要的就是要用到二维数组和自定义创建一个函数 这里的二维数组a[2][12]表示一个两行12列的一个数组 而创建的函数riqi()就是一个普通的函数创建过程,包括定义啊,设置变量,返回函数值之类的 还有就是在进行日期的加法上那个循环的次数使用了morth-1,大家可以仔细看一下为什么 #include 8. 平方数 给你一个整数集合A(无重复元素),如果x,y都属于A,且y=x*x,那么 每个样例占2行,第一行为一个非负整数n,n<=1000,为集合中元素的个数,如果n为0则输入结束。第二行为n个整数,为集合的元素,所有的元素为非负整数,且<=100,000,000,两个整数之间有一个空格隔开。 每行输出一个样例的结果。 这个题主要是首先把一个集合的数的平方数用数组储存起来然后通过循环把数组a[]和数组b[]进行比较,就是在做这个题的时候对于while (scanf("%d",&n))输入输出忘记了只写了 scanf("%d",&n),这是个多样例输入这样只能有一个样例 代码如下 #include 剩余的题目以后再更新!
int main()
{
int i,j;
int n,count=0;
while(scanf("%d",&n))
{
if(n==0)
return 0;
count++;
printf("case %d:\n",count);
for(i=0;i
for(j=i;j
for(j=0;j<2*i+1;j++)
{
printf("%d",i+1);
}
printf("\n");
}
}
}
Description
Sample Input
3
2000-02-29
2001-02-01
2001-02-28
Sample Output
60
32
59
int riqi(int year,int morth,int day)
{
int i;
int sumday=0;
int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
int b = (year%4==0&&year%100!=0)||(year%400==0);
for(i=0;i
sumday += a[b][i];
}
sumday=sumday+day;
return sumday;
}
main()
{
int a,b,c;
int i,n;
int sum=0;
scanf("%d",&n);
while (n--)
{
scanf("%d-%d-%d",&a,&b,&c);
sum= riqi(a,b,c);
printf("%d\n",sum);
}
}
Description
描述
输入
输出
Sample Input
32 3 453 36 5 9 60
Sample Output
12
main()
{
int n;
int i,j;
int a[1001],b[1001];
while (scanf("%d",&n))
{
if(n==0)
return 0;
int count =0;
for(i=0;i
scanf("%d",&a[i]);
b[i]=a[i]*a[i];
}
for(j=0;j
for(i=0;i
if(a[i]==b[j])
count++;
}
}
printf("%d\n",count);
}
}