原题:
说明:上面题写的n的范围是0-1000,后台数据有很大的数,所以一直找不到错误致错,现从写支持Int范围的代码
#include <stdio.h>
#include <string.h>
int a[1000];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n=0,i=0,j=0;
scanf("%d",&n);
while(n>=10)
{
a[i]=n%10;
n/=10;
// printf("当前的n值为:%d,a[%d]=%d\n",n,i,a[i]);
i++;
}
a[i]=n;
int sum=0;
//printf("%d\n",n);
for(j=0;a[j]!='\0';j++)
{
sum+=a[j];
//printf("a[%d]=%d\n",j,a[j]);
}
// printf(" j=%d\n",j);
memset(a,'\0',sizeof(a));
j=0;
//j代表位数
int a1,a2;
if(sum<10)
{
printf("%d\n",sum);
}
else
{
a1=sum%10;
a2=sum/10;
if(a1+a2>9)
{
int b1,b2,b=a1+a2;
b1=b%10;
b2=b/10;
printf("%d\n",b1+b2);
}
else
printf("%d\n",a1+a2);
}
}
return 0;
}
---------------------------------------------------------------分割线---------------------------------------------------
B - lzq的大风车
时间限制:1秒 内存限制:128兆
-
题目描述
-
大风车吱呀吱悠悠的转
这里的风景啊真好看
天好看,地好看
还有一群快乐的小伙伴
。。。。。。
不知道你对小时候经常看的大风车栏目是否怀念,现在要求的是打印这样的风车:***** *
**** **
*** ***
******
*********
******
*** ***
** ****
* *****
输入
-
多组输入输出,每行输入一个n(3<=n<=60),表示要输入一个边长为2*n-1的风车。
输出
-
对于每组数据输出一个边长为2*n-1的风车(即2*n-1行,每行2*n-1个字符)。每两个风车之间应空上一行,显然最后一个风车后面没有空行。
样例输入
-
5 3
样例输出
-
***** * **** ** *** *** ****** ********* ****** *** *** ** **** * ***** *** * **** ***** **** * ***
#include <stdio.h>
int main()
{
int n;
int q=0;
while(~scanf("%d",&n))
{
if(q!=0)
printf("\n");
q++;
int h=1,k1=0,m1=0,k2=0,m2=0;
k1=h-1;
m1=n;
k2=n-2;
m2=h;
for(int i=1; i<n; i++)
{
for(int j1=0; j1<k1; j1++)
printf(" ");
for(int j2=0; j2<m1; j2++)
printf("*");
for(int j3=0; j3<k2; j3++)
printf(" ");
for(int j4=0; j4<m2; j4++)
printf("*");
printf("\n");
k1++;
m1--;
k2--;
m2++;
}
for(int i=1; i<=2*n-1; i++)
{
printf("*");
}
printf("\n");
int h2=1,m_1=0,k_1=0,m_2=0,k_2=n-2;
m_1=n-1;
k_1=0;
m_2=h+1;
for(int i=1; i<n; i++)
{
for(int j1=0; j1<m_1; j1++)
{
printf("*");
}
for(int j2=0; j2<k_1; j2++)
{
printf(" ");
}
for(int j3=0; j3<m_2; j3++)
{
printf("*");
}
for(int j4=0; j4<k_2; j4++)
{
printf(" ");
}
printf("\n");
m_1--;
k_1++;
m_2++;
k_2--;
}
}
return 0;
}
--------------------------------------------------------分割线----------------------------------------------------------------------------------
G - 这是一道简单题!
时间限制:1秒 内存限制:128兆
-
题目描述
-
小红最近又遇到了个棘手的问题,他有一个字符串里面有括号(‘(’)和(‘)’)还有大小写英文字母他想知道在括号里的小写字母有几个,你能帮帮他么?
输入
-
输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个字符串,(字符串的长度小于1000);
输出
-
对于每组字符串输出括号内小写字母的个数;
样例输入
-
1AbcdB(abcABC)efg
样例输出
-
3
提示
-
不会出现括号内包含括号的现象如:abcd(abcd(abcd))
#include<stdio.h>
#include<string.h>
int main()
{
int nn;
char a[1010];
scanf("%d",&nn);
while(nn--)
{
scanf("%s",a);
int l=0,s=0,i,j,k;
for(i=0; a[i]!='\0'; i++)
{
// printf("i的值为%d\n",i);
if(a[i]=='(')
{
for(j=i+1; a[j]!='\0'; j++)
{
if(a[j]==')')
{
for(k=i+1; k<j; k++)
{
if(a[k]>='a'&&a[k]<='z')
s++;
}
i=j;
break;
}
}
}
}
printf("%d\n",s);
}
return 0;
}
ps:存存代码