|
发表于 2024-4-21 19:13:17
|
显示全部楼层
本帖最后由 jackz007 于 2024-4-21 19:17 编辑
没什么好办法,得自行处理键盘输入,请参考下面的代码
- #include <stdio.h>
- int input(int d[])
- {
- char s[2048] ;
- int b , k , m , n ;
- fgets(s , 2048 , stdin) ;
- for(n = 0 ; s[n] ; n ++) ;
- for(b = k = m = 0 ; b < n - 1 && k < n - 1 ;) {
- for(b = k ; b < n - 1 && (s[b] == ' ' || s[b] == ',') ; b ++) ;
- for(k = b ; k < n - 1 && s[k] != ' ' && s[k] != ',' ; k ++) ;
- if(b < n - 1) sscanf(& s[b] , "%d" , & d[m ++]) ;
- }
- return m ;
- }
- int main(void)
- {
- int d[256] , i , n ;
- printf("请输入多个整数:") ;
- n = input(d) ;
- if(n) {
- printf("%d" , d[0]) ;
- for(i = 1 ; i < n ; i ++) printf(", %d" , d[i]) ;
- printf("\n") ;
- }
- }
复制代码
编译、运行实况:
- D:\[exercise]\C>g++ -o x x.c
- D:\[exercise]\C>x
- 请输入多个整数:7 3 2 8 6 9 1 4 5
- 7, 3, 2, 8, 6, 9, 1, 4, 5
- D:\[exercise]\C>
复制代码 |
|