参考代码:
#include<stdioh>int main(){ int n=0,i; char a[100]; while(scanf("%c",&a[n++])){ if(a[n-1]=='#')输入#就结束输入 break; } for(i=0;i<n-1;i++) printf("%c ",a[i]); printf("\n"); return 0; } /输出:qewq#afq e w q /
VBA如何实现按回车键输入一个指定字符
定义按钮txtA
Private Sub txtA_KeyUp(ByVal KeyCode As MSFormsReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
txtAText = txtAText + "A"
End If
End Sub
c语言如何做到输入回车换行而不是输出结果
拍入Enter健时, c语言 通常 略去 回车,而只取用 换行键。
一定要输入 回车,你可以用输入 ASCII 值 13 代替。
例如,你拍入数值13和Enter健,用下面程序,则 s[0] 读到回车,s[1]读到换行 :
char s[10];
scanf("%d",&s[0]);
s[1]=getchar();
printf("%c %c\n",s[0],s[1]);
printf("%02x %02x",s[0],s[1]); 输出它们的16进制ASCII码值 0d 0a
c语言为什么输入数字按回车键得不出结果
估计是你的代码有问题,建议把问题说详细一点,顺便发一下代码或者截图。
c语言中先输出kb个空格,在输出n个指定字符
for (i=0;i<kb;i++) printf(" "); 输出kb个空格,不换行
for (i=0;i<n;i++) printf"%c", z[i]); 输出n个指定字符, 假定字符已存于 字符数组 z
例如:
int i,kb=10,n=10;
char z[10] = {'a','b','c','d','9','8','7','6','Y','Z'};
for (i=0;i<kb;i++) printf(" "); 输出kb个空格,不换行
for (i=0;i<n;i++) printf"%c", z[i]);
c语言中如何在读入字符串时如何遇到指定字符结束?
标准C中没有提供这样的函数,可以自定义一个这样的函数,以实现getline()函数的功能。参考代码如下:
int get_str( char s, int size, const char ch='\n' ) 如果不输入第三个参数,默认为回车符{ int i; for( i=0;i<size-1;i++ ) { s[i]=getchar(); 读入一个字符 if ( s[i] == ch ) 遇到指定字符,结束输入 break; } s[i]='\0'; 字符串结束符 return i; 返回读入字符串数据的长度}void main(){ char str[10]; get_str( str, sizeof(str), '#' ); 以#结束 printf("input is :%s\n", str ); fflush(stdin); 清除缓存中的残余数据 get_str( str, sizeof(str) ); 以回车结束 printf("input is :%s\n", str );}
C语言:编写一个程序,接受一个用户输入的一行字符,按回车结束
int main()
{
char str[100],p;
int cout[4]={0};
scanf("%[^\n]",&str);
p=str;
while(p)
{
if((p>='A'&&p<='Z')||(p>='a'&&p<='z'))
cout[0]++;
else if(p==' ')
cout[1]++;
else if(p>='0'&&p<='9')
cout[2]++;
else
cout[3]++;
p++;
}
printf("\nletter=%d,blank=%d,number=%d,other=%d\n",cout[0],cout[1],cout[2],cout[3]);
return 0;
}
c++怎么循环输入,并且按回车结束输入
一般一次输入一行。当用户某次输入某个特殊的字符串时,结束循环
用C语言编写程序:从键盘输入一串字符,按回车键后结束,最后将字符串在屏幕上输出。
#include<stdioh>
void main()
{
char p[20];
printf("\n Please input some chars:");
scanf("%s",p);
printf("\n You inputed: %s\n",p);
getchar();
}
注意,该程序最多可输入20个字符,如果要更多,自己把p[20];里的数字改得列大就行了
C语言中输入一个字符串已@为结束符
#include<stdioh>
void main()
{ int i;
char a[100];
for(i=0;i<100;i++)
{
if(getchar()!='@'
a[i]=getchar();
else break;
}
}
所谓回文数组,就是从高到底和从低到高遍历,得到的是相同序列。该数组具有对称性。
如果一个数组不是回文数组,可以把对称位置上值不相等的元素修改为相等,来生成回文数组。
用指针可以按照如下思路:
1 定义两个指针head和end,head指向数组头,end指向数组尾。
2 比较两个指针指向的值,如果不相等,则令其相等。
3 移动指针,head向后,end向前,即两头向中间凑。
4 重复执行2-3步,直到两个指针相等或者end在head前(end <= head),结束循环。
5 得到的数组即为回文数组。
参考代码如下:
#include <stdioh>int main()
{
int a[5] = {1,2,4,3,1};//原始数组,不是回文数组。
int i;
int head, end;//定义两个指针。
head = a;//head指向头。
end = &a[4]; //end指向尾。
while(head > end)//循环条件设置为head>end,即当end<=head时退出循环。
{
if(head != end) end = head; //如果不等,则使其相等。
}
for(i = 0; i < 5; i ++)//输出结果
printf("%d ", a[i]);
return 0;
}
执行后的结果为:
1 2 4 2 1
已经是回文数组了。
这个函数用于开始批量绘图。执行后,任何绘图 *** 作都将暂时不输出到屏幕上,直到执行 FlushBatchDraw 或 EndBatchDraw 才将之前的绘图输出。以下代码实现一个圆从左向右移动,会有比较明显的闪烁。
请取消 main 函数中的三个注释,以实现批绘图功能,可以消除闪烁。
#include <graphicsh>
void main()
{
initgraph(640,480);
setcolor(WHITE);
setfillstyle(RED);
// BeginBatchDraw();
for(int i=50; i<600; i++)
{
circle(i,100,40);
floodfill(i, 100, WHITE);
// FlushBatchDraw();
Sleep(10);
cleardevice();
}
// EndBatchDraw();
closegraph();
}#include <stdioh>
int main(){
char c[100];
gets(c);
while (1){
if (c[0] == 'e'&&c[1] == 'n'&&c[2] == 'd'&&c[3] == '\0')
break;
gets(c);
}
return 0;
}
感觉楼主可能刚学就用个能看懂的方法好了#include <stdioh>
int fun(int array[], int n)
{
/Program/
for(int i = 0;i<n-1;i++)
{
int max = i;
for(int j=i+1;j<n;j++)
{
if(array[j]>array[max])
max = j;
}
if(max!=i)
{
int temp = array[i];
array[i] = array[max];
array[max] = temp;
}
}
/ End /
}
main()
{
int a[10],i;
printf("请输入数组a中的十个数:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
fun(a,10);
printf("由大到小的排序结果是:\n");
for (i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)