对于这道题目,至今没有想明白的是为什么开始输入的时候用%s就是错的,而%c就对了呢,究竟有什么不一样的吗
1、http://sdjzu.acmclub.com/index.php?app=problem_title&cid=1160&problem_id=F
2、题目:
问题 F : 8
时间限制:1 秒
内存限制:256 兆
特殊判题: 否
提交:38
解决: 10
题目描述
人们都喜欢8这个数字,手机号希望全是8,车牌号也希望全是8.在这个无发不在的世界,8俨然成为了人们发财的数字。为了以后我们的前途,大家来画8吧,谁画的标准,好看,谁的前途就越好。
输入格式
多组测试数据。每组中有一个字符c(大写字母或者小写字母)和一个整数n,字符表示画笔,整数表示高度。,(5<=n<=20).
输出
画横线总是一个字符粗,竖线随着总高度每增长6而增加1个字符宽.当总高度从5增加到6时,其竖线宽度从1增长到2.下圈高度不小于上圈高度,但应尽量接近上圈高度,且下圈的内径呈正方形.
样例输入
A 7
B 8
样例输出
AA
AA AA
AA AA
AA
AA AA
AA AA
AA
BBB
BB BB
BB BB
BBB
BB BB
BB BB
BB BB
BBB
提示[+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
提示[-]
3、AC代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
//freopen("a.txt","w",stdout);
char c;
char s[5];
int n,h1,h2;
while(scanf("%c%d",&c,&n)!=EOF)
{
getchar();
//c=s[0];
if((n-3)%2==0)
{
h1=(n-3)/2;
h2=(n-3)/2;
}
else
{
h1=(n-3)/2;
h2=(n-3)/2+1;
}
int w=n/6+1;
for(int i=1;i<=w;i++)
printf(" ");
for(int i=1;i<=h2;i++)
printf("%c",c);
printf("\n");
// printf("%d %d %d\n",w,h1,h2);
for(int j=1;j<=h1;j++)
{
for(int i=1;i<=w;i++)
printf("%c",c);
for(int i=1;i<=h2;i++)
printf(" ");
for(int i=1;i<=w;i++)
printf("%c",c);
printf("\n");
}
for(int i=1;i<=w;i++)
printf(" ");
for(int i=1;i<=h2;i++)
printf("%c",c);
printf("\n");
for(int j=1;j<=h2;j++)
{
for(int i=1;i<=w;i++)
printf("%c",c);
for(int i=1;i<=h2;i++)
printf(" ");
for(int i=1;i<=w;i++)
printf("%c",c);
printf("\n");
}
for(int i=1;i<=w;i++)
printf(" ");
for(int i=1;i<=h2;i++)
printf("%c",c);
printf("\n");
}
return 0;
}
/*
AA
AA AA
AA AA
AA
AA AA
AA AA
AA
BBB
BB BB
BB BB
BBB
BB BB
BB BB
BB BB
BBB
*/
本文介绍了一种通过编程绘制数字8的方法。该算法接受一个字符和一个整数作为输入,利用特定的规则生成不同高度的数字8图案。文章提供了一个完整的C语言代码示例,展示了如何根据不同输入调整图案的比例。
1万+

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



