c语言:编程输出以下图形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言:编程输出以下图形相关的知识,希望对你有一定的参考价值。

1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
希望写简单一点,什么count那些还没学过,所以最好不要写那种。。谢谢啦

参考技术A int k=1;
for(int i=0;i<=5;i++) //先输入空格、第一行5个空格、第二行4个、以此类推

for(int j=5;j>0;j--)
printf(" ");
printf("/n"); //换行

for(int i=0;i<=5;i++) //第一行输出一个1·,(此时k=1),输出1;第二行输出两个2,内层for循环结束后
将k加1,一方便第二次循环输出两个数字2、一次类推。
for(int j=0;j<=i;j++)
printf("%d",k);

printf("/n"); //起到换行作用哦。
k++;


写完了、望采纳、、、
参考技术B #include<stdio.h>
int main()

int n=6;
int i=1;
for ( i=1;i<=n;i++ )

int j;
for( j=0;j<n-i;j++)
printf(" ");
for( j=0;j<i;j++ )
printf("%d " , i);
printf("\n");

return 0;
本回答被提问者和网友采纳
参考技术C #include <stdio.h>
#include <stdlib.h>
int main()

printf("1\n");
printf(" 2 2\n");
printf(" 3 3 3\n");
printf(" 4 4 4 4\n");
printf(" 5 5 5 5 5\n");
printf(" 6 6 6 6 6 6\n");
return 0;

简单吧??
参考技术D #include <stdio.h>
void main()

int i,j;
for(i=1;i<=6;i++)

for(j=1;j<=6-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d ",i);
printf("\n");

C++编程问题?输入一个英语句子,输出其中最长的单词,并输出次单词的位置。

#include<iostream>
#include<string>
using namespace std;
int find(char *a,char *b);
int main()
char a[80],b[80];
cout<<"请输入一个英文句子";
cin.getline(a,79);
int k=find(a,b);
cout<<"最长的单词是:";
for(int i=0;b[i]!=0;i++)
cout<<b[i];

cout<<"最长单词的起始位置下为:"<<k;
return 0;

int find(char *a,char *b)
char*j,*i;
int k=1;
j=a;i=a+1;
int c[80][2]=0;
int l=0;
while(*i!=0)
if(*i==' '||*i==',')
c[l][0]=i-j;
c[l][1]=j-a;
l++;
i=i+1;
j=i;

else i++;

for(k;k<=80;k++)
if(c[0][0]<c[k][0])
c[0][0]=c[k][0];
c[0][1]=c[k][1];


for(int g=0;g<=c[0][0];g++)
b[g]=*(b+c[0][1]+g);

return c[0][1];

运行结果很奇葩(如图),求大神解释啊

可能是字符串没加\0吧,数组b[80]没显示0初始化,find函数里也没有显式的加\0。没看懂你的算法,所以只能这样猜了。写了个标准库的方法,可以参考下:
#include <iostream>
#include <sstream>
#include <map>

using namespace std;
int main()

typedef string::size_type ST;
//存放所有单词的长度、单词本身、单词出现的位置
multimap<ST,pair<string,ST> > m;
string line;
cout<<"请输入一个英文句子:";
getline(cin,line);
ST pos=0;
while((pos=line.find(','))<line.size())
line[pos]=' ';//替换掉所有逗号

istringstream ins(line);
string token;
pos=0;
while(ins>>token)
m.insert(pair<ST,pair<string,ST> >(token.size(),
pair<string,ST>(token,pos=line.find(token,pos)+1)));

ST t=m.rbegin()->first;
//map容器默认是按照key排序的,最后的长度最大,往前找
for(multimap<ST,pair<string,ST> >::reverse_iterator it=m.rbegin();
it!=m.rend();++it)
if(it->first==t)
cout<<"最长的单词是:"<<it->second.first<<endl
<<"起始位置下为:"<<it->second.second<<endl;
else break;

如果有长度一样的词,按照倒序显示,这样简单些。起始位置从1开始算的。
参考技术A 这种情况 语句没有响应就是ascll代码意思就是超过所能理解的代码

以上是关于c语言:编程输出以下图形的主要内容,如果未能解决你的问题,请参考以下文章

使用c语言编程输出以下图形该怎么写呀?

c语言 输出以下图形

如何用C语言程序输出以下图形 // * *** ***** ******* ***** *** *

用c语言编写程序,打印以下图形。。 表示c语言老师讲的没听懂。。求大神。。。

c语言 如何输出以下图形

编写一个c程序,运行时输出以下图形 ***** ***** *****