一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出相关的知识,希望对你有一定的参考价值。
在学函数调用,最好把程序写给我,谢谢
初学c语言,不要写得太难
#include "stdio.h"
#include "string.h"
int main(void)
char str[100][21];
int i,j,lmax,lmin,ln,imax,imin;
printf("Type a line text( # end)...\\nstr=");
for(i=0;i<100;i++)
if(scanf("%s",str[i]),str[i][0]=='#')
break;
for(lmin=21,lmax=j=0;j<i;j++)
if(lmax<(ln=strlen(str[j])))
lmax=ln,imax=j;
if(lmin>ln)
lmin=ln,imin=j;
printf("The longest word is \\'%s\\'.\\n",str[imax]);
printf("The shortest word is \\'%s\\'.\\n",str[imin]);
return 0;
参考技术A #include<stdio.h>
int Transpose(int a[3][3])
int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
printf("after transpose is \n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
void main()
int a[3][3];
int i,j;
printf("input the Array,please\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++) scanf("%d",a[i][j]);
Transpose(a);
c语言 .从键盘输入10个整数,存到一维数组中,并求这10个整数的和?
1、首先打开c语言编辑器,新建一个C语言的文件,文件中引入C语言的头文件,新建一个main函数,函数中设置一个10个元素的数组以及一个用来求和的变量:
2、之后用一个for循环遍历数组,每次都从scanf中取到用户输入的数并存入数组中,存完后再用sum加这个数,如此便能求出数组内元素的和了:
3、最后运行程序,输入10个数即可看到结果。以上就是用c语言从键盘输入10个数存入数组并求和的方法:
参考技术A#include"stdio.h"
//从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出
int main()
int i;
float max,min,num[10];
printf("请输入10个数,每输入一个数按回车键结束:\\n");
for(i=0;i<10;i++)
scanf("%f",&num<i>);
max=min=num[0];
for(i=1;i<10;i++)
if(max<num<i>)
max=num<i>;
else if(min>num<i>)
min=num<i>;
printf("最大为:%f\\n最小为:%f\\n",max,min);
return 0;
扩展资料:
return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。
如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
如果函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。
参考技术B#include<stdio.h>
int main()
int a[10],sum,i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sum+=a[i];
printf("这10个数的和为%d",sum);
return 0;
扩展资料:
数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
特点:
1,数组是相同数据类型的元素的集合。
2,数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
3,数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。
参考技术C 1. 双循环解决方案参考 @左左强强峰峰 的回答2. 函数解决方案参考 @linshaolie 的回答
我给你讲点不一样的东西,单循环解决方案:
首先分析题意,需求如下:
1. 从键盘输入10个数
2. 10个数存入1维数组
3. 求这10个数字的和。注意,该需求和需求2一样的循环方案,因此一个循环解决
代码如下:
#include <stdio.h>
int main()
int number[10] = 0; // 定义一维数组并初始化
int sum = 0; // 定义求和变量并初始化
for (int i = 0; i < 10; i++)
scanf("%d", &number[i]); // 完成需求1和2
sum += number[i];
printf("sum = %d\n", sum); // 显示求和结果
return 0;
来自:求助得到的回答 参考技术C # include<stdio.h>
int main()
int a[10];
int sum=0;
int i;
for(i=0; i<10; i++)
scanf("%d",&a[i]);
for(i=0; i<10; i++)
sum += a[i];
printf("%d",sum);
return 0;
以上是关于一个c语言问题,编写一个函数,从键盘输入一行字符,将此字符串中最长和最短的单词输出的主要内容,如果未能解决你的问题,请参考以下文章
c语言 从键盘上任意输入一个字符(字母大小写,数字,控制字符和其他字符)判断所属字符类型,只发